#!/bin/bash

# reindex脚本：接收从主脚本传递的bag路径和setup路径
# 由main.sh调用，不建议单独使用（路径参数由主脚本统一管理）

# 检查是否接收到两个参数（必须由主脚本传递）
if [ $# -ne 2 ]; then
    echo "错误: reindex脚本必须接收两个参数（bag路径和setup路径）"
    echo "请通过main.sh调用本脚本"
    exit 1
fi

# 从主脚本接收参数
BAG_DIR="$1"
SETUP_PATH="$2"

# 检查setup文件是否存在
if [ ! -f "$SETUP_PATH" ]; then
    echo "错误: 环境配置文件 '$SETUP_PATH' 不存在"
    exit 1
fi

# 检查bag文件夹是否存在
if [ ! -d "$BAG_DIR" ]; then
    echo "错误: bag文件夹 '$BAG_DIR' 不存在"
    exit 1
fi

# 加载环境变量
echo "正在加载环境配置: source $SETUP_PATH"
source "$SETUP_PATH" || {
    echo "错误: 环境配置加载失败"
    exit 1
}

# 执行reindex操作
echo "开始对文件夹 '$BAG_DIR' 执行reindex..."
ros2 bag reindex "$BAG_DIR" -s sqlite3 || {
    echo "错误: reindex操作失败"
    exit 1
}

echo "reindex操作成功完成"
exit 0
    